home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / DOCS / ST_GUIDE.PR / TOS.TXT < prev    next >
Encoding:
Text File  |  2010-01-01  |  8.0 KB  |  166 lines

  1. PRT_LINE /x1k1                                   ┌─────┐
  2.                                    │ TOS │
  3. ───────────────────────────────────┴─────┴──────────────────────────────────────
  4. !PROG_START!(75,mode,programmname.L,commandline.L,environmentstring.L)= basepage.L
  5.  
  6.               mode                                                    basepage
  7.                0:load and go                                          address
  8.                3:load                                                 if mode=3
  9.                4:go
  10.  
  11.                    programmname   commandline   environmentstring
  12.                      address        address          address
  13.                                    if mode=4
  14.                                 basepageaddress
  15. ────────────────────────────────────────────────────────────────────────────────
  16. !PROG_STOP!(49,reservedmemorysize.L,parameter)
  17.  
  18.              reservedmemorysize   parameter
  19.             starting at basepage  to return to parent programm
  20. ────────────────────────────────────────────────────────────────────────────────
  21. !PROG_END!(0)
  22.  
  23.              return $0000 to parent programm
  24. ────────────────────────────────────────────────────────────────────────────────
  25. !PROG_ENDwithPARAMeter!(76,parameter)
  26.  
  27.                          parameter
  28.                 to return to parent programm
  29. ────────────────────────────────────────────────────────────────────────────────
  30. !PROG_SUPERvisorMODE!(32,input.L) = output.L
  31.  
  32.                        input
  33.                        if > 0 set user mode (input=newSSP)(output=oldSSP)
  34.                        if = 0 set supervisor mode (SSP=USP)(output=oldSSP)
  35.                        if =-1 get mode (output= 0:user 1:super)
  36. ────────────────────────────────────────────────────────────────────────────────
  37. !MEMO_SHRINK!(74,0,memoryaddress.L,size.L)
  38. ────────────────────────────────────────────────────────────────────────────────
  39. !MEMO_ALLOC!(72,size.L) = memoryaddress.L
  40.  
  41.               size
  42.               if =-1 then D0=size of the largest memory block
  43.  
  44.                         memoryaddress.L
  45.                           0:not enough memory
  46. ────────────────────────────────────────────────────────────────────────────────
  47. !MEMO_FREE!(73,memoryaddress.L)
  48. ────────────────────────────────────────────────────────────────────────────────
  49. !DISK_GET!(25) = disk
  50.  
  51.                disk
  52.                0-15
  53. ────────────────────────────────────────────────────────────────────────────────
  54. !DISK_SET!(14,disk) = map
  55.  
  56.             disk    map
  57.             0-15    b0-b15:diskA-diskP
  58. ────────────────────────────────────────────────────────────────────────────────
  59. !DISK_GetfreeSPACE!(54,bufferaddress.L,disk)
  60.  
  61.                      buffer
  62.                      byte#
  63.                       0- 3  number of free clusters
  64.                       4- 7  number of clusters on disk
  65.                       8-11  sector size in bytes
  66.                      12-15  number sectors per cluster
  67.  
  68.                                      disk
  69.                                         0:current disk
  70.                                      1-16:disk+1
  71. ────────────────────────────────────────────────────────────────────────────────
  72. !DISK_GetDIRectory!(71,directoryaddress.L,disk)
  73.  
  74.                      directory          disk
  75.                      64 bytes             0:current disk
  76.                                        1-16:disk+1
  77.  
  78.   N.B.: disk symbols are "A: B: C: D: E: ... P:"
  79.         subdirectory separator symbol is "\"
  80.         filename in capital letters
  81.         8 characters maxi for name
  82.         3 characters maxi for extension
  83.         character separator between name and extension is "."
  84.         joker symbol is "?"
  85.         wild card symbol is "*"
  86. ────────────────────────────────────────────────────────────────────────────────
  87. !DISK_SetDIRectory!(59,directoryaddress.L)
  88. ────────────────────────────────────────────────────────────────────────────────
  89. !DISK_CREATEDIRectory!(57,directoryaddress.L)
  90. ────────────────────────────────────────────────────────────────────────────────
  91. !DISK_DELETEDIRectory!(58,directoryaddress.L)
  92.                                    ┌─────┐
  93.                                    │ TOS │
  94. ───────────────────────────────────┴─────┴──────────────────────────────────────
  95. !FILE_GetDiskTransferArea!(47) = DiskTransferAreaaddress.L
  96.  
  97.                                DiskTransferArea
  98.                                 byte#
  99.                                  0-20  -
  100.                                    21  Attributes
  101.                                 22-23  Hour
  102.                                 24-25  Date
  103.                                 26-29  Length
  104.                                 30-43  Name+Extension
  105. ────────────────────────────────────────────────────────────────────────────────
  106. !FILE_SetDiskTranferArea!(26,DiskTransferAreaaddress.L)
  107. ────────────────────────────────────────────────────────────────────────────────
  108. !FILE_GetFIRST!(78,filenameaddress.L,attributes)
  109. ────────────────────────────────────────────────────────────────────────────────
  110. !FILE_GetNEXT!(79)
  111. ────────────────────────────────────────────────────────────────────────────────
  112. !FILE_CREATE!(60,filenameaddress.L,attribute) = filehandle
  113. ────────────────────────────────────────────────────────────────────────────────
  114. !FILE_DELETE!(65,filenameaddress.L)
  115. ────────────────────────────────────────────────────────────────────────────────
  116. !FILE_OPEN!(61,filenameaddress.L,mode) = handle
  117.  
  118.              filename          mode
  119.                                 0:read only
  120.                                 1:write only
  121.                                 2:read and write
  122.  
  123.                               standard handle
  124.                                          0/-1:CONSOLE INPUT (if filename="CON:")
  125.                                          1/-1:CONSOLE OUTPUT(if filename="CON:")
  126.                                          2/-2:AUXILIARY     (if filename="AUX:")
  127.                                          3/-3:PRINTER       (if filename="PRN:")
  128.                                          4:  -
  129.                                          5:  -
  130.  
  131.                                   file handle
  132.                                          6-...
  133. ────────────────────────────────────────────────────────────────────────────────
  134. !FILE_CLOSE!(62,handle)
  135. ────────────────────────────────────────────────────────────────────────────────
  136. !FILE_READ!(63,handle,numberbytes.L,bufferaddress.L) = numberbytes.L
  137. ────────────────────────────────────────────────────────────────────────────────
  138. !FILE_WRITE!(64,handle,numberbytes.L,bufferaddress.L) = numberbytes.L
  139. ────────────────────────────────────────────────────────────────────────────────
  140. !FILE_SEEK!(66,seek.L,handle,mode) = pointerinfile.L
  141.  
  142.              seek          mode
  143.              signed         0:from the begin
  144.                             1:from the current position
  145.                             2:from the end
  146. ────────────────────────────────────────────────────────────────────────────────
  147. !FILE_RENAME!(86,0,oldfilenameaddress.L,newfilenameaddress.L)
  148. ────────────────────────────────────────────────────────────────────────────────
  149. !FILE_getsetATTRIButes!(67,filenameaddress.L,mode,attributes) = attributes.L
  150.  
  151.                                            mode
  152.                                             0:get
  153.                                             1:set
  154. ────────────────────────────────────────────────────────────────────────────────
  155. !FILE_getsetTIME!(87,timeaddress.L,filehandle,mode)
  156.  
  157.                    time                     mode
  158.                    byte#                     0:set
  159.                    0-1  hour                 1:get
  160.                    2-3  date
  161.                    see TIME_GET(XBIOS)
  162. ────────────────────────────────────────────────────────────────────────────────
  163. !FILE_DUPLICATEhandle!(69,standardhandle) = filehandle
  164. ────────────────────────────────────────────────────────────────────────────────
  165. !FILE_FORCEhandle!(70,standardhandle,filehandle)
  166.